#include "IGUIElement.h"
#include "GUIWindow.h"

GUIShape IGUIElement::m_shape;
IGUIElement* IGUIElement::m_activeElement;

IGUIElement::IGUIElement() : m_parent(0)
{
	m_activeElement = 0;
	m_dimensions = Maths::Point<unsigned int>(1, 1);
}

bool IGUIElement::Visible() const
{
	return m_visible;
}

void IGUIElement::Visible( bool visible )
{
	m_visible = visible;
}

bool IGUIElement::Enabled() const
{
	return m_enabled;
}

void IGUIElement::Enabled( bool enabled )
{
	m_enabled = enabled;
}

void IGUIElement::ParentLocation( Maths::Point<unsigned int>& location )
{
	m_parentLocation = location;
}

void IGUIElement::Parent( IGUIElement* parent )
{
	m_parent = parent;
}

void IGUIElement::Location( Maths::Point<unsigned int>& location )
{
	m_location = location;
}

Maths::Point<unsigned int> IGUIElement::Location() const
{
	return m_location;
}

void IGUIElement::Dimensions( Maths::Point<unsigned int>& dimensions )
{
	m_dimensions = dimensions;
}

Maths::Point<unsigned int> IGUIElement::Dimensions() const
{
	return m_dimensions;
}
void IGUIElement::ActiveObject( IGUIElement* element )
{
	m_activeElement = element;
}
IGUIElement* IGUIElement::ActiveObject() const
{
	return m_activeElement;
}